Ultrasonic scanners for detecting blood flow based on the Doppler effect are well known. Such systems operate by actuating an ultrasonic transducer array to transmit ultrasonic waves into the object and receiving ultrasonic echoes backscattered from the object. In the measurement of blood flow characteristics, returning ultrasonic waves are compared to a frequency reference to determine the frequency shift imparted to the returning waves by flowing scatterers such as blood cells. This frequency, i.e., phase, shift translates into the velocity of the blood flow. The blood velocity is calculated by measuring the phase shift from firing to firing at a specific range gate.
The change or shift in backscattered frequency increases when blood flows toward the transducer and decreases when blood flows away from the transducer. Color flow images are produced by superimposing a color image of the velocity of moving material, such as blood, over a black and white anatomical B-mode image. Typically, color flow mode displays hundreds of adjacent sample volumes simultaneously, all laid over a B-mode image and color-coded to represent each sample volume's velocity.
In standard color flow processing, a high pass filter known as a wall filter is applied to the data before a color flow estimate is made. The purpose of this filter is to remove signal components produced by tissue surrounding the blood flow of interest. If these signal components are not removed, the resulting velocity estimate will be a combination of the velocities from the blood flow and the surrounding tissue. The backscatter component from tissue is many times larger than that from blood, so the velocity estimate will most likely be more representative of the tissue, rather than the blood flow. In order to get the flow velocity, the tissue signal must be filtered out.
In the color flow mode of a conventional ultrasound imaging system, an ultrasound transducer array is activated to transmit a series of multi-cycle (typically 4-8 cycles) tone bursts which are focused at the same transmit focal position with the same transmit characteristics. These tone bursts are fired at a pulse repetition frequency (PRF). The PRF is typically in the kilohertz range. A series of transmit firings focused at the same transmit focal position are referred to as a "packet". Each transmit beam propagates through the object being scanned and is reflected by ultrasound scatterers such as blood cells. The return signals are detected by the elements of the transducer array and then formed into a receive beam by a beamformer.
For example, the traditional color firing sequence is a series of firings (e.g., tone bursts) along the same position, which firings produce the respective receive signals: EQU F.sub.1 F.sub.2 F.sub.3 F.sub.4 . . . F.sub.M
where F.sub.i is the receive signal for the i-th firing and M is the number of firings in a packet. These receive signals are loaded into a corner turner memory, and a high pass filter (wall filter) is applied to each down range position across firings, i.e., in "slow time". In the simplest case of a (1, -1) wall filter, each range point will be filtered to produce the respective difference signals: EQU (F.sub.1 -F.sub.2) (F.sub.2 -F.sub.3) (F.sub.3 -F.sub.4) . . . (F.sub.M-1 -F.sub.M)
and these differences are input to a color flow velocity estimator.
One of the primary advantages of Doppler ultrasound is that it can provide noninvasive and quantitative measurements of blood flow in vessels. Given the angle .theta. between the insonifying beam and the flow axis, the magnitude of the velocity vector can be determined by the standard Doppler equation: EQU V=cf.sub.d /(2f.sub.0 cos .eta.) (1)
where c is the speed of sound in blood, f.sub.0 is the transmit frequency and f.sub.d is the motion-induced Doppler frequency shift in the backscattered ultrasound.
Because blood has a very low backscatter coefficient, in medical ultrasound color flow imaging, it is desirable to improve flow visualization by optimizing the SNR and resolution. Coded excitation is a well-known radar technique which is used in situations where the peak power of a transmitted signal cannot be increased but the average power can. This is often the case in medical ultrasound imaging, where system design limitations dictate the peak amplitude of the signal driving the transducer. Coded excitation can be used to increase signal-to-noise ratio by transmitting a longer pulse and/or to increase resolution by having a shorter decoded pulse.
In medical ultrasound imaging, longer signals, such as chirps, can be used to deliver higher average power values, and temporal resolution is restored by correlating the return signal with a matched filter. Chirps, however, are expensive to implement on a phased array ultrasound system due to the complexity of the electronics, so binary codes, or codes that can be easily represented digitally as a series of digits equal to +1, -1 or 0, are more practical. Binary codes are also preferred because they contain the most energy for a given peak amplitude and pulse duration. The problems with binary codes is that sidelobes generated in the correlation process generally degrade the image.
Acceptable sidelobe levels can be produced using a complementary set of transmit codes, e.g., Golay codes. A set of complementary-coded waveforms produce signals which, after autocorrelation and summation, yield a short pulse in range, due to the fact that the sidelobe levels produced by the autocorrelation of one code sequence are equal in magnitude but opposite in sign to the those of the complementary sequence.
There are situations where these ideas can be extended to color flow processing as well. In cases where the flow dynamics are low enough that one does not degrade the codes between the complementary firings, one can gain SNR if, again, one is limited by the system peak power but not by the average power. In addition, color flow systems already tend to fire relatively long tone bursts to maximize the SNR, so one can gain additional spatial resolution over typical Doppler processing by using coded sequences.